package com.ruoyi.background.service;

import com.ruoyi.background.domain.AppGradeLevel;

import java.util.List;

/**
 * 积分等级Service接口
 *
 * @author suus
 * @date 2024-08-25
 */
public interface IAppGradeLevelService {
    /**
     * 查询积分等级
     *
     * @param id 积分等级主键
     * @return 积分等级
     */
    public AppGradeLevel selectAppGradeLevelById(Long id);

    /**
     * 获取下一等级
     * @param grade 分数
     * @return 结果
     */
    public AppGradeLevel getNextAppGradeLevel(Integer grade);

    /**
     * 获取上一等级
     * @param grade 分数
     * @return 结果
     */
    public AppGradeLevel getBeforeAppGradeLevel(Integer grade);

    /**
     * 查询积分等级列表
     *
     * @param appGradeLevel 积分等级
     * @return 积分等级集合
     */
    public List<AppGradeLevel> selectAppGradeLevelList(AppGradeLevel appGradeLevel);

    /**
     * 新增积分等级
     *
     * @param appGradeLevel 积分等级
     * @return 结果
     */
    public int insertAppGradeLevel(AppGradeLevel appGradeLevel);

    /**
     * 修改积分等级
     *
     * @param appGradeLevel 积分等级
     * @return 结果
     */
    public int updateAppGradeLevel(AppGradeLevel appGradeLevel);

    /**
     * 修改积分等级
     *
     * @param id   id
     * @param type 状态
     * @return 结果
     */
    public int changeGradeLevelStatus(Long id, Integer type);

    /**
     * 批量删除积分等级
     *
     * @param ids 需要删除的积分等级主键集合
     * @return 结果
     */
    public int deleteAppGradeLevelByIds(Long[] ids);

    /**
     * 删除积分等级信息
     *
     * @param id 积分等级主键
     * @return 结果
     */
    public int deleteAppGradeLevelById(Long id);
}
